home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 18343 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.4 KB

  1. Path: ix.netcom.com!news
  2. From: Bradd W. Szonye <bradds@ix.netcom.com>
  3. Newsgroups: comp.lang.c++
  4. Subject: RE: Need Professional advice (by a beginner)
  5. Date: 19 Apr 1996 10:11:48 GMT
  6. Organization: Netcom
  7. Message-ID: <01bb2dd8.e90315e0$c6c2b7c7@Zany.localhost>
  8. References: <316898E2.6754@netvision.net.il> <4kcg7k$rfm@nntp1.best.com> <4ki875$jmn@reader2.ix.netcom.com>
  9. NNTP-Posting-Host: det-mi6-06.ix.netcom.com
  10. X-NETCOM-Date: Fri Apr 19  5:11:48 AM CDT 1996
  11. X-Newsreader: Microsoft Internet News
  12.  
  13.  
  14. On Thursday, April 11, 1996, Giuliano Carlini wrote...
  15. > >Bruce Klaydman <bruce@netvision.net.il> wrote:
  16. > >
  17. > >>Need Professional advice (by a beginner).
  18. > >>I want to be a professional programmer my question is 
  19. > >>can I do it on my own (without taking any courses) ?
  20. > It is definitely possible. The question is whether it is easier. The
  21. > language you write in isn't what makes you a professional. It's knowing
  22. > what to do with it.
  23.  
  24. Agreed.
  25.  
  26. > Number one is a book on Algorithms and Data Structures. All of CS is
  27. > just algorithms and data structures. Get started right, and learn this
  28. > first. For learning, stay away from Knuth's Art of Programming. While
  29. > my feelings on it are mixed as a general reference, it is definitely
  30. > not a book for a beginner. It's all written in a make believe assembly
  31. > language. You spend 90% of the time translating the low level assembler
  32. > to what is intended at the high level. I hope I don't get toasted TOO
  33. > bad for this heresy.
  34.  
  35. Start with Robert Sedgewick's "Algorithms" (Addison-Wesley) for this
  36. stuff. It's got versions out in Pascal, C, and C++. I consider myself an
  37. expert with a strong background in theory, and I find Knuth nearly
  38. impossible to read.
  39.  
  40. > I'm keen on everyone knowing a little about compilers. Now, very few of
  41. > us will end up working with them, but it is amazing how often I find
  42. > myself writing little parsers, symbol tables, semantic analyzers, code
  43. > generators, etc.
  44.  
  45. > Ditto about operating systems. You'll learn about mutual exclusion,
  46. > tasking, file systems, virtual memory, and all sorts of things you'll
  47. > need in the real world of programming.
  48.  
  49. > Theory of computation. The formal math that underlies our craft. You
  50. > won't use it directly very often, but it had a profound affect on how I
  51. > think about problems.
  52.  
  53. You can be a good programmer without this stuff, but you'll want to learn
  54. it eventually. The stuff is hard to pick up without going to college
  55. though. A good compiler book, if you need it, is "Compiler Design in C" by
  56. Holub.
  57.  
  58. > College Algebra. Another subject you won't use at all, but it is
  59. > amazing how an understanding of it illuminates the tools you use, and
  60. > the systems you produce.
  61. > Join and subscribe to the Association of Computing machinery -
  62. > www.acm.org. The industry rags are ok, but the journals are where new
  63. > results first come out. Anything I've seen in Doctor Dobb's or whatever
  64. > I've always seen years earlier in a journal.
  65. > I'd suggest learning using Eiffle rather than C++. Most of us need C++
  66. > to live off of, but Eiffle is vastly better. Once you've learned the
  67. > right way, most of it carries over to C++. The problem with C++ is that
  68. > there are 30,000 ways to do anything, and 28,000 of them are wrong. You
  69. > might hit on the right way without experience, but it isn't likely.
  70. > Eiffle makes it easier to do things right. Then once you know it, you
  71. > can use C++ with discipline.
  72.  
  73. Pick a popular language to learn first. BASIC and C++ are both
  74. "marketable" language skills, not too hard to learn, not too hard to find
  75. good intro books on. I'd say avoid Pascal, with one exception. There's a
  76. stellar book called "C as a Second Language (for Native Speakers of
  77. Pascal)" by Mueldner and Steele. If you happen to learn Pascal, that's a
  78. wonderful book for migrating to C. It also makes you realize how much
  79. different languages are alike.
  80.  
  81. And if you want to learn C++, you don't need to know C first. It will only
  82. teach you bad habits.
  83.  
  84. > Lastly, you've got to write a lot of bad code before you get good.
  85. > Write and rewrite. Go back and look at what you did a year ago, and see
  86. > if you can do it better. And don't be just a coder. Think about the
  87. > overall structure and design of you programs.
  88. > g
  89.  
  90. Experience is the key.
  91. A good shortcut to programming experience is "Code Complete" by Steve
  92. McConnell (Microsoft Press). It also gives a good overview of several
  93. languages, and programming in general. Learn a little programming, then
  94. buy that book.
  95.  
  96.  
  97.